/**
 * Implements Nifty GUI screens.
 * <p>
 * For most Nifty GUI screens defined in Interface/screens.xml there needs to
 * be a class inheriting from de.lessvoid.nifty.screen.ScreenController that
 * implements the behavior of that screen. These controller classes belong in
 * this package. Note that not every screen requires a ScreenController class.
 * <p>
 * For simple screen functions it is possible to implement the behavior in a
 * class not derived from ScreenController. To do this call 
 * {@code NiftyEventAnnotationProcessor.process();} from the package
 * {@code de.lessvoid.nifty.NiftyEventAnnotationProcessor} in 
 * {@linkplain core.Main#simpleInitApp() Main.simpleInitApp()} passing the
 * handling class instance as a parameter. Then for every event you want to handle
 * add a method like the following to the handling class:
 * <p>{@code @NiftyEventSubscriber(id = "some_button_id")}<br>
 * {@code public void buttonPressHandler(String id, ButtonClickedEvent event)}
 * <p>
 */
package gui;
